﻿
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace weighing
{
    /// <summary>
    /// 公共的枚举类
    /// </summary>


    //0 不是默认 1 默认为入库 2 默认为出库
    public enum ScaleDefaultType
    {
        No, In, Out
    }

    /// <summary>
    /// 过磅单位
    /// </summary>
    public enum Unit
    {
        /// <summary>
        /// 千克
        /// </summary>
        KG = 0,
        /// <summary>
        /// 吨
        /// </summary>
        Tone = 1,
    }

    /// <summary>
    /// 数据库类型
    /// </summary>
    public enum DbType
    {
        mysql,
        sqlite,
        json
    }

    /// <summary>
    /// 数据类型
    /// </summary>
    public enum DataType
    {
        /// <summary>
        /// 生产数据
        /// </summary>
        Prod = 1,
        /// <summary>
        /// 测试数据
        /// </summary>
        Debug = 0,
    }

    /// <summary>
    /// (0:其它，1:采购,2:销售,3:内部倒运,4:外来过磅 ,100:未知)
    /// </summary>
    public enum WeightingBillType
    {
        Otrher = 0,
        /// <summary>
        /// 采购
        /// </summary>
        Buy = 1,
        /// <summary>
        /// 销售
        /// </summary>
        Sale = 2,
        /// <summary>
        /// 内部倒运
        /// </summary>
        Self = 3,
        /// <summary>
        /// 外来过磅
        /// </summary>
        Foreign = 4,

        /// <summary>
        /// 混合类型过磅，不区分
        /// </summary>
        Mixture = 5,

        UNKNOWN = 100,
        /// <summary>
        /// 出门条 ，与过磅无关
        /// </summary>
        ExitSlip = 200,

        /// <summary>
        /// 装货单 ，与过磅无关
        /// </summary>
        LoadingBill = 201,

        /// <summary>
        /// 卸货单 ，与过磅无关
        /// </summary>
        UnLoadingBill = 202,

        /// <summary>
        /// 过磅单 ，与过磅无关，只是为了区分打印类型
        /// </summary>
        WeighintBill = 300,
    }

    /// <summary>
    ///合同类型 (0:其它，1:采购,2:销售,3:内部倒运,4:外来过磅 ,100:未知)
    /// </summary>
    public enum ContractType
    {
        Otrher = 0,
        /// <summary>
        /// 采购
        /// </summary>
        Buy = 1,
        /// <summary>
        /// 销售
        /// </summary>
        Sale = 2,
        /// <summary>
        /// 内部
        /// </summary>
        Self = 3,
        /// <summary>
        /// 外来
        /// </summary>
        Foreign = 4,

        UNKNOWN = 100,

    }


    public enum BillStatus
    {
        /// <summary>
        /// 未出场
        /// </summary>
        NoOut = 0,
        /// <summary>
        /// 已出场(完成)
        /// </summary>
        Finished = 1
    }

    /// <summary>
    /// 软件使用状态
    /// </summary>
    public enum UsingStatus
    {
        TryUsing,//试用
        PayUsing //购买使用
    }


    /// <summary>
    /// 设备类型
    /// </summary>
    public enum DeviceType
    {
        // 类型 0 其它 1 摄像头 2 抓拍机 3 硬盘录像机 4 道闸 7 红外感应器 8网口扫码器 10 称重显示器
        /// <summary>
        /// 其它
        /// </summary>
        Other = 0,
        /// <summary>
        /// 摄像头
        /// </summary>
        Camera = 1,
        /// <summary>
        /// 抓拍机
        /// </summary>
        CaptureCamera = 2,
        /// <summary>
        /// 硬盘录像机
        /// </summary>
        NVR = 3,
        /// <summary>
        /// 道闸
        /// </summary>
        DZ = 4,
        /// <summary>
        /// 红外感应器
        /// </summary>
        HW = 7,
        /// <summary>
        /// 称重显示器
        /// </summary>
        CZXSQ = 10,

        /// <summary>
        /// 网口扫码器
        /// </summary>
        NetScanner = 10,
    }

    /// <summary>
    /// 数据所属类型
    /// </summary>
    public enum DataBelong
    {
        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 0,
        /// <summary>
        /// 企业
        /// </summary>
        Enterprise = 1,
        /// <summary>
        /// 政府
        /// </summary>
        Government = 10,
    }

    //0 其它 1 过磅员工 2 过磅管理员工 3公司管理员工 4老总
    public enum UserLevel
    {
        /// <summary>
        /// 其它
        /// </summary>
        Other,
        /// <summary>
        /// 过磅员工
        /// </summary>
        Weighinger,
        /// <summary>
        /// 过磅管理员工
        /// </summary>
        WeighingManager,
        /// <summary>
        /// 公司管理员工
        /// </summary>
        CompanyManager,
        /// <summary>
        /// 企业老板
        /// </summary>
        Boss,
        /// <summary>
        /// 开发者
        /// </summary>
        Developer = 100
    }

    // 1 过磅员 2管理员 100 开发
    public enum UserRoleType
    {
        /// <summary>
        /// 过磅员
        /// </summary>
        Weighinger = 1,
        /// <summary>
        /// 过磅管理员
        /// </summary>
        WeighingManager = 2,
        /// <summary>
        /// 开发者
        /// </summary>
        Developer = 100
    }

    //性别 0 女 1 男 3保密
    public enum UserSex
    {
        /// <summary>
        /// 女
        /// </summary>
        Woman = 0,
        /// <summary>
        /// 男
        /// </summary>
        Man = 1,
        /// <summary>
        /// 保密
        /// </summary>
        Other = 3,
    }

    public enum DeleteTag
    {
        /// <summary>
        /// 未删除
        /// </summary>
        No,
        /// <summary>
        /// 已删除
        /// </summary>
        Yes
    }
    /// <summary>
    /// 摄像头位置
    /// </summary>
    public enum CamaraPosition
    {
        //   (0 未知1 前 2 后 3 上 4屏幕截图)
        /// <summary>
        /// 未知
        /// </summary>
        Other,
        /// <summary>
        /// 前
        /// </summary>
        Foreground,
        /// <summary>
        /// 后
        /// </summary>
        Background,
        /// <summary>
        /// 上
        /// </summary>
        Up,
        /// <summary>
        /// 屏幕截图
        /// </summary>
        Screen = 100
    }

    /// <summary>
    /// 摄像头类型
    /// </summary>
    public enum CamaraType
    {
        //   (0 正常 1车辆识别)
        /// <summary>
        /// 正常
        /// </summary>
        Nomal,
        /// <summary>
        /// 车辆识别
        /// </summary>
        Recognizable,

    }

    /// <summary>
    /// 磅单税费上传状态
    /// </summary>
    public enum TaxationUpStatus
    {
        //  上传状态 0 未上传 1 已经上传
        /// <summary>
        /// 未上传
        /// </summary>
        No,
        /// <summary>
        /// 已经上传
        /// </summary>
        Yes,

    }

    /// <summary>
    /// 磅单税费扣缴状态
    /// </summary>
    public enum TaxationStatus
    {
        //   0 未扣 1 已扣
        /// <summary>
        /// 未扣
        /// </summary>
        No,
        /// <summary>
        /// 已扣
        /// </summary>
        Yes,
    }

    /// <summary>
    /// 派车单 称重状态
    /// </summary>
    public enum SendCarWeighingStatus
    {
        //称重状态 0未称重 1皮重 2称重完成
        //0未入场 1 已入场 2 已出场
        /// <summary>
        /// 未入场
        /// </summary>
        No,
        /// <summary>
        /// 已入场
        /// </summary>
        In,
        /// <summary>
        /// 已出场
        /// </summary>
        Out
    }

    /// <summary>
    /// 客户端配制类型
    /// </summary>
    public enum ClientConfigType
    {
        //   0 未知  1 用户设置 2应用配置applicationSettings 3应用appSettings 4 connectionStrings 
        /// <summary>
        /// 未扣
        /// </summary>
        Other,
        /// <summary>
        /// 用户设置
        /// </summary>
        userSettings,
        /// <summary>
        /// 应用配制
        /// </summary>
        applicationSettings,
        /// <summary>
        /// appSettings
        /// </summary>
        appSettings,
        /// <summary>
        /// 接连
        /// </summary>
        connectionStrings,
    }


    /// <summary>
    /// 物资价格状态
    /// </summary>
    public enum MaterialPriceStaus
    {
        //   状态(0未生效 1生效中 2失效)
        /// <summary>
        /// 未生效
        /// </summary>
        NoActive,
        /// <summary>
        /// 生效中
        /// </summary>
        Effictive,
        /// <summary>
        /// 失效
        /// </summary>
        Failed,
    }

    /// <summary>
    /// 物资税价状态
    /// </summary>
    public enum TaxationPriceStaus
    {
        //   状态(0失效 1生效中 2未生效)
        /// <summary>
        /// 失效
        /// </summary>
        Failed,
        /// <summary>
        /// 生效中
        /// </summary>
        Effictive,
        /// <summary>
        /// 未生效
        /// </summary>
        NoActive,
    }
    /// <summary>
    /// IC 读写器和品牌
    /// </summary>
    public enum ICReaderBrandType
    {
        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 0,
        /// <summary>
        /// 昱闵
        /// </summary>
        YiMin = 1,

        /// <summary>
        /// 明华高频桌面
        /// </summary>
        MH_HEIGHT_DESKTOP = 2,

        /// <summary>
        /// 明华高频(室外)
        /// </summary>
        MH_HEIGHT_OUT_ROOT = 3,

        /// <summary>
        /// 明华普通
        /// </summary>
        MH_NOMAL = 4,
    }

    /// <summary>
    /// LED 品牌
    /// </summary>
    public enum LedBrandType
    {
        /// <summary>
        /// 未知
        /// </summary>
        Unknow = 0,
        /// <summary>
        /// 上海灵信
        /// </summary>
        ShangHaiLinXin = 1,
    }


    public enum CameraBrand
    {
        /// <summary>
        /// 海康
        /// </summary>
        HK = 1,
        /// <summary>
        ///  火眼臻识
        /// </summary>
        HYZS = 2
    }
    /// <summary>
    /// OSS对像存储服务商
    /// </summary>
    public enum OosType
    {
        /// <summary>
        /// 不使用，只保存在本地
        /// </summary>
        Local = 0,
        /// <summary>
        /// 阿里云
        /// </summary>
        AliYun = 1,
        /// <summary>
        /// 七牛
        /// </summary>
        QiniuYun = 2,
        /// <summary>
        /// 奔牛
        /// </summary>
        BengniuYun = 3,
        /// <summary>
        /// 自定义服务器
        /// </summary>
        CustomServer = 4,
        /// <summary>
        /// 其它
        /// </summary>
        Other = 100
    }
    /// <summary>
    /// 价格类型 0 采购 1 销售
    /// </summary>
    public enum MaterialPriceType
    {
        /// <summary>
        /// 采购
        /// </summary>
        Buy = 0,
        /// <summary>
        /// 销售
        /// </summary>
        Sale = 1
    }

    /// <summary>
    /// 消息级别 1 正常 2 异常 3错误
    /// </summary>
    public enum MessageLevel
    {
        Info,
        Excption,
        Error,
    }
    /// <summary>
    /// 收款方试(0:现金,1:微信,2:支付宝)
    /// </summary>
    public enum MoneyType
    {
        Cash = 0,
        WeiXin = 1,
        ZhiFuBao = 2,
    }
    /// <summary>
    /// 通信方试(0 :Com ,1 :485,2 :ip)   
    /// </summary>
    public enum ConmunitationType
    {
        /// <summary>
        /// COM 串口
        /// </summary>
        Rs232 = 0,
        Rs485 = 1,
        TcpIp = 2
    }

    /// <summary>
    /// 排队状态
    /// </summary>
    public enum CarQueueStatus
    {
        /// <summary>
        /// 等待中
        /// </summary>
        Waiting = 0,
        /// <summary>
        /// 准备中
        /// </summary>
        Ready = 1,
        /// <summary>
        /// 过磅中(完成第一次过磅)
        /// </summary>
        Weighing = 2,
        /// <summary>
        /// 完成 (完成两次过磅)
        /// </summary>
        Finished = 3,
    }

    /// <summary>
    /// 磅单审核的操作类型
    /// </summary>
    public enum BillAuditType
    {
        //类型 (0:未知，1:卸货审核,2:装货审核,3:过磅审核）
        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 0,
        /// <summary>
        /// 卸货审核
        /// </summary>
        UnloadAudit = 1,
        /// <summary>
        /// 装货审核
        /// </summary>
        LoadAudit = 2,

        /// <summary>
        /// 过磅完成审核
        /// </summary>
        WeighingFinishedAudit = 2,

    }

    /// <summary>
    /// 订单类型(0:其它，1:采购,2:销售）
    /// </summary>
    public enum WithingOrderType
    {

        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 0,
        /// <summary>
        /// 采购订单
        /// </summary>
        UnloadAudit = 1,
        /// <summary>
        /// 销售订单
        /// </summary>
        LoadAudit = 2,

    }

    /// <summary>
    /// 订单状态 0 作废 1正常
    /// </summary>
    public enum WithingOrderStatus
    {
        /// <summary>
        /// 作废
        /// </summary>
        Cancellation = 0,
        /// <summary>
        /// 正常
        /// </summary>
        Nomal = 1,

    }
    /// <summary>
    /// 订单流水类型(0:其它,1:补货,2：扣除）
    /// </summary>
    public enum WithingOrderWaterType
    {
        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 0,
        /// <summary>
        /// 补货
        /// </summary>
        Add = 1,
        /// <summary>
        /// 扣除
        /// </summary>
        Reduce = 2,

    }

    /// <summary>
    /// 无人值守过磅的控制权
    /// </summary>
    public enum UnmannedWeighingControlPemisition
    {
        /// <summary>
        /// 称重系统自己控制
        /// </summary>
        Self = 0,
        /// <summary>
        /// 其它系统
        /// </summary>
        Other = 1,
    }


    /// <summary>
    /// 称重模式举类
    /// </summary>

    public enum WeighingMode
    {
        /// <summary>
        /// 简易称重模式，不区分过磅类型
        /// </summary>
        Simple = 0,
        /// <summary>
        /// 标准称重模式，区分过磅类型
        /// </summary>
        Standard = 1,
        /// <summary>
        /// 无人称重模式
        /// </summary>
        UnMan = 2,
    }


    /// <summary>
    /// 无人值守过磅识别模式
    /// </summary>
    public enum UnWeighingMode
    {
        /// <summary>
        /// 秤下识别
        /// </summary>
        Down_Scale = 0,
        /// <summary>
        /// 秤上识别
        /// </summary>
        Up_Scale = 1,

    }



    /// <summary>
    /// 下秤
    /// </summary>
    public enum DownScaleMode
    {

        /// <summary>
        /// 正常  成功朝前，失败倒车
        /// </summary>
        Nomal = 0,
        /// <summary>
        /// 前行 都
        /// </summary>
        Foreground = 1,

        /// <summary>
        /// 倒车 都 
        /// </summary>
        Background = 2,

        /// <summary>
        /// 两头
        /// </summary>
        Bouth = 3,
    }


    /// <summary>
    /// 激活类型
    /// </summary>
    public enum ActiveType
    {
        /// <summary>
        /// 加密狗
        /// </summary>
        Dongle = 0,
        /// <summary>
        /// 激活
        /// </summary>
        Code = 1,
    }


    /// <summary>
    /// 二维码解析规则
    /// </summary>
    public enum QrContentRule
    {

        /// <summary>
        /// 磅单编号
        /// </summary>
        Number = 0,

        /// <summary>
        /// 图片地址
        /// </summary>
        Url = 1,

        /// <summary>
        /// 自定义
        /// </summary>
        Customer = 2,

    }

    /// <summary>
    /// 打印时间类型
    /// </summary>
    public enum PrintTimeType
    {
        /// <summary>
        /// 打印时的
        /// </summary>
        PrintDateTime,     
        PrintDate,
        PrintTime,
        InDateTime,        
        InDate,
        InTime,
        OutDateTime,  
        OutDate,
        OutTime
    }


    /// <summary>
    /// 默认磅单抬头显示
    /// </summary>
    public enum DefaultBillTitleType
    {
        UseCompanyFullName,
        SendCompanyFullName,
        ReceivedCompanyFullName,
        TransCompanyFullName,
        FixText
    }
}